<?php
class Login extends Modulo {
	
	public function __construct() {
		parent::__construct ();
	}
	
	public function index() {
		if(isset($_SESSION["sessao_usuario_cms"]["user"]) && isset($_SESSION["sessao_usuario_cms"]["hash"]) && $_SESSION["sessao_usuario_cms"]["hash"] == md5("admin"))
			$this->redirecionar ( BASE . "/cms" );
		$this->getMessage ();
		if($this->getMessage()!="")
			$this->setVariaveis($this->getMessage(),"mensagem");
		$this->despachar ( "cms/login.php" );
	}
	
	public function logar() {
		try {
			
			$rules = array ("login" => array ("required" => "true" ), "senha" => array ("required" => "true" ) );
			$validacao = new Validacao ( $_POST, $rules );
			$validacao->validar ();
			
			$ua = new UsuarioAdm();
			$ua->setLogin ( $_POST ["login"] );
			$ua->setSenha ( $_POST ["senha"] );
			$user = UsuarioAdmDAO::getInstancia ()->login( $ua );
			if($user!=null){							
				$_SESSION ["sessao_usuario_cms"]["hash"] = md5("admin");
				$_SESSION ["sessao_usuario_cms"]["user"] = $user;
				$this->redirecionar ( BASE . "/cms" );
			}else{				
				$this->setMessage ( "Login ou senha Inválidos!" );
				$this->redirecionar ( BASE . "/login" );
			}
		} catch ( ValidacaoException $ve ) {
			$this->setMessage ( "Todos os campos são obrigatorios!" );
			$this->redirecionar ( BASE . "/login" );
		} catch ( UsuarioAdminException $e ) {
			$this->setMessage ( "Erro Inesperado!" );
			$this->redirecionar ( BASE . "/login" );
		}
	}
	public function logout() {
		// necessario é destruir a sessao
		session_destroy ();
		//unset($_SESSION["sessao_usuario_cms"]);
		$this->redirecionar ( BASE . "/login" );
	}
}?>